export function patch(oldvnode, vnode) {

    // 根据虚拟dom创建真实dom
    let el = createEl(vnode)

    // 替换操作
    // 1、获取父节点
    // 2、插入新内容
    // 3、删除旧内容
    let parentEl = oldvnode.parentNode
    parentEl.insertBefore(el, oldvnode.nextsibling)
    parentEl.removeChild(oldvnode)
}

function createEl(vnode) {
    let { tag, children, key, data, text } = vnode

    // 标签
    if (typeof tag === 'string') {
        vnode.el = document.createElement(tag)  // 创建元素

        // 有children
        if (children.length > 0) {
            // 给标签添加子标签
            children.forEach(child => {
                vnode.el.appendChild(createEl(child))
            })
        }
    } else {
        vnode.el = document.createTextNode(text)
    }
    return vnode.el
}